Systems and methods for interactively displaying product information and for collaborative product design

ABSTRACT

A system for interactively displaying and distributing information. The information may relate to consumer products, any type of article of commerce, marketing and advertising layouts, floor plans, planograms or any other type of information that is capable of being illustrated graphically. A consumer engages in an Interactive Information Session with an attendant, such a help desk attendant. During the Interactive Information Session, the attendant and consumer see synchronized displays of images or animations of the information, which may be manipulated by either one of them. The attendant and the user can communicate interactively by voice or text during at least part of the Interactive Information Session. In another embodiment, two or more users of a system according to the invention can collaboratively design a product, marketing or advertising layouts, planograms, floor plans or other graphical information in an Interactive Design Session. During the session one of the users controls the design at any time. Different users may have control at different times. The users can engage in interactive voice or text communications during at least part of the Interactive Design Session.

FIELD OF THE INVENTION

This invention relates to computer network based systems forinteractively disseminating information and for collaborative designingproducts. The invention may be used to interactively share informationabout products, marketing and advertising displays and many other typesof information. The invention may also be used by two or more people toto collaboratively design a product, product display or marketing oradvertising system.

BACKGROUND OF THE INVENTION

The design and development of consumer and other products is conductedon increasingly short timelines. At the same time these products areincreasingly complex and customized for different markets and users. Forexample, some athletic shoes are customized for different geographicmarkets in different color combinations. Shoe manufacturers buildnumerous prototype shoes in the different color combination for eachmarket and provide the appropriate prototype to potential retail vendorsin each market. The retail vendors comment on the color combination andthe manufacturer and vendors may modify and make new prototypes before afinal color combination is chosen for a particular market. Thisiterative approach relies on making and distributing physical prototypesand is both costly and time consuming. The problem is exacerbated ifthere are several potential retail vendors participating in the designof a product for a particular market. Even where a vendor does notparticipate in the actual design of products, the vendor may wish to seea sample of the product before the vendor will agree to sell it. Thecost of making numerous customized prototypes can be high.

Accordingly, there is a need for an improved system that allowsinformation about new products to be delivered to potential retailvendors and other potential purchasers of the products. In addition,there is a need for a system that improves the ability of manufacturersand product vendors and others to collaboratively design or develop aproduct.

Consumers often wish to obtain information about a product prior to,during and after purchasing a product. Consumers may need thisinformation to make an informed purchasing decision. Many consumer andother products are sold with instructions for the assembly or use of theproduct. In many cases, a consumer may require additional information tocomplete the assembly of the product or to use the product. In addition,a product supplier (or manufacturer) may find it necessary or desirableto revise the information included with a product or to supplement thisinformation with additional instructions. Some suppliers provide anautomated information service (typically on a website) that allows aconsumer to download such additional information. Such a system allows aconsumer to obtain only limited and pre-determined or pre-recordedinformation. In other cases, a supplier may provide a help desk serviceallowing consumers to contact a help desk attendant, who can speak tothe consumer to help them with a product assembly or use problem. Such asystem is deficient in that it provides only for spoken communicationbetween the consumer and the attendant. There is a need for an improvedsystem for providing information to consumers.

The same deficiencies exist in design and collaboration tools availableto advertise and market products. For example, businesses that operatemultiple retail outlets often prefer to organize some or all of theoutlets in a similar manner to allow consumers to become familiar withthe store layout and to promote product awareness and sales based onproduct placement within the store. Presently, such “planograms” of thelayout of product displays are exchanged between those who design theplanogram and those who implement it in a particular retail outlet.Collaboration between such persons is complicated and slowed. There is aneed for an improved system for collaboratively designing and fordisseminating such marketing and advertising information.

SUMMARY OF THE INVENTION

The present invention provides a system for distributing informationabout products from to consumers or other persons interested in theproducts.

The term “consumer” is used generically herein to describe a person whomay have an interest in learing about a product. In addition to atypical consumer of a product, such persons may include employeesresponsible for stocking product in shelves according to a planogram,suppliers of components of products or equipment used to display ormarket products, managers responsible for designing products andmarketing programs for products and various other persons who have aninterest in the products.

The term “product” is used generically herein to refer to any device,product, system, arrangement or service that could be advertised,displayed or collaboratively designed using one or more graphicalimages. For example, the term product includes a planogram, floor plan,a consumer product and any other article of commerce.

The invention may be used to distribute information that may beillustrated graphically using two-dimensional (2D) or three-dimensional(3D) graphical images. The information that is distributed may relatedto any device, product, system, arrangement or service that may beillustrated graphically. For example, any physical retail or consumerproduct is appropriate. The invention may be used with facilities suchas hotel rooms, banquet halls to illustrate their appearance or design.The invention may also be used to illustrate the operation of machineryor equipment. The graphic images may be two-dimensional,three-dimensional or moving images such as video clips or animations.The images may be photographs, drawings, architectural plans, models orany other type of graphical rendition.

In a first embodiment, the present invention provides a system andmethods for conducting an interactive information session. Theinteractive information session typically includes a consumer seekinginformation about a product and an attendant who provides information tothe consumer.

The supplier assembles product data about the product and records theproduct data in a product database in a system server. The product datamay include graphic, video, audio, text and other information about theproduct. In some embodiments, the product data includes at least one 3Dgraphic image of the product. In other embodiments, the product dataincludes at least one 2D graphic image of the product. Other embodimentsmay include numerous 2D and 3D graphic images of the product. Theproduct data may also include information about optional components thatmay be used with the product or other optional aspects such as differentcolor schemes, layout options, sizing considerations, etc.

The consumer uses a consumer computer to participate in the interactiveinformation session. Similarly, the attendant uses an attendant computerto participate in the interactive information session. When theinteractive information session is initiated, the product data istransmitted from the system server to the consumer computer and to theattendant computer. Consumer client software operating on the consumercomputer is used to display or playback the product data on the consumercomputer. Attendant client software operating on the attendant computeris used to display or playback the product data on the attendantcomputer. The display or playback of the product data on the consumerand attendant computers is synchronized. The product data includesinitial display instructions which describe the parts of the productdata are to displayed when the product is first transmitted to aconsumer or attendant computer and how those parts are to be displayed.

At least one interactive communication link is also established betweenthe consumer computer and the attendant computer. The interactivecommunication link may be a voice chat session or a text chat session.The interactive communication link is operative at least during portionsof the interactive information session to permit the consumer and theattendant to participate in live interactive communication with eachother.

The consumer and the attendant participating in an interactiveinformation session may be referred to as “participants” in the session.One of the participants is in control of the interactive informationsession at any particular time. That person is the “controller” of thesession and the controller's computer is designated the controllingcomputer. The other person is a “viewer” of the session and the viewer'scomputer is designated the viewing computer.

The controller is able to control and manipulate the display andplayback of the product data on the controlling computer. For example,the controller may manipulate two dimensional or three dimensionalimages displayed on the controlling computer, initiate and control theplayback of pre-recorded information and annotate displayed images. Whenthe controller performs any such manipulation or control activity, orwhile the controller performs a manipulation, an Update Message istransmitted from the controlling computer to the system serverdescribing the manipulation or control activity.

The system server transmits a corresponding Update Message to theviewing computer. The Update Message transmitted to viewing computer maybe identical to or may be a version of the Update Message received fromthe controlling computer. The viewing computer is responsive to theUpdate Message to change the display or playback of the product data onthe viewing computer to correspond to described manipulation or controlactivity. In this way, the display or playback of the product on thecontrolling and viewing computers is kept generally synchronized.

For example, if the controller has a 3D image of the product displayedon the controlling computer and manipulates the camera position fromwhich the image is displayed, a Camera Position Update message, which isone type of Update Message, is transmitted from the controlling computerto the system server and then to the viewing computer. The CameraPosition Update message indicates the new camera position and mayinclude additional information such as the time period over which theviewing computer should display the transition from the previous cameraposition to the new camera position. On the viewing computer, the clientsoftware updates the display of the image to correspond to the newcamera position. If the transition from the old camera position to thenew camera position is to be animated, an animation is calculated anddisplayed at the viewing computer. The comparatively computation anddata intensive activities of calculating and displaying the animationare performed entirely at the viewing computer in response to thecomparatively lightweight Camera Position Update message. As a result,it is possible to keep the display of the image on the controllingcomputer and the viewing computer generally synchronized withoutsubstantial latency between them. If the controller conducts amanipulation of the image over an extended time, then a series of CameraPosition Update messages, spaced apart in time by an update period maybe sent during the manipulation. A Camera Position Update message isalso sent at the end of the manipulation. A skilled person will be ableto select an update period that provides sufficient synchronizationbetween the controlling and the viewing computers.

The attendant and the consumer may change roles as controller andviewer. In some embodiments, one of them may be able to designate whowill be the controller and who will be the viewer. In other embodiments,either of them may be permitted to take control of the interactiveinformation session.

An interactive information session may include any number of consumersand at least one attendant. Any one of the participants in such aninteractive information session may be the controller of the session.The remaining participants are viewers of the session. When thecontroller manipulates the product displayed on the controller'scomputer, and Update Message is transmitted from the controller'scomputer to the system server. The system server then propagates acorresponding Update Message to all of the viewing computers. Thisallows all of the participants in an interactive information session toeffectively view the same product data that is displayed on thecontrolling computer.

In another embodiment of the invention, two or more users are able toparticipate in an interactive product design session. Each user operatesa user computer that receives product data from a system server. At anytime, one user is in control of the product design session and is ableto manipulate the display or playback of the product data. That use isthe controller of the interactive product design session and that user'scomputer is the controlling computer. In this embodiment, the productdata may also include alternative or optional configurations andoptional components for the product. The controller may select betweenthe alternative configurations and may choose to include or excludeoptional configurations or components. The controller may also bepermitted to change other aspects of the design, such as the color ofvarious parts of the product, the choice of materials, etc. As thecontroller changes the product design, the changes are transmitted tothe system server in Update Messages, which are then propagated to eachother user's computers. In this way, each user is able to view theproduct design as it changes and evolves. At different times, differentusers may be given or may take control of the session.

During at least part of the interactive product design session, aninteractive communications link is established between the usercomputers with the server computer acting as an intermediary. All voiceand text data is transmitted from a user computer to the system serverand is then propagated to the other user computers where it is displayedor played back.

The consumer and the attendant, in the first embodiment, and the usersin the latter embodiment, are thus able to interactively communicatewhile at the same time manipulating the product data displayed or playedback on their computers. The display or playback of product data isgenerally synchronized so that each person can see the same informationand hearing or read the same interactive discussion at essentially thesame time.

In some embodiments, the users (including the consumer and the attendantin the first embodiment described above) may be permitted to save a viewof an image as it is displayed on the users' computer displays at thetime. The controller and viewers may be permitted to save views.Information about each view is saved by the system server based on thecamera positions and design selections at the time the view is saved.Information about each stored view is stored on the user computers andsubsequently, the controller may select a particular view to bedisplayed. The controlling computer sends a Display Stored View messageto the system server which is then propagated to each user's computer.The selected view is then displayed on each user's computer.

In another embodiment, the invention provides a method for providinginteractive product information to a consumer comprising: storingproduct data relating to the product in a product database; transmittingthe product data to a consumer computer operated by the consumer,wherein at least some of the product data is displayed on the consumercomputer by consumer client software; transmitting the product data toan attendant computer operated by an attendant, wherein at least some ofthe product data is displayed on the attendant computer by attendantclient software, the product data displayed on the attendant computercorresponding to the product data displayed on the consumer computer;establishing an interactive communication link between the consumercomputer and the attendant computer for allowing the consumer and theattendant to communicate interactively; and synchronizing the display ofat least some of the product data on the consumer computer with thedisplay of corresponding product data on the attendant computer.

In another embodiment, the invention provides a method for aninteractive product design session between two or more user computerscomprising: storing product data relating to a product in a productdatabase; transmitting the product data to each of the user computers,wherein at least some of the product data is displayed on each usercomputer by user client software; establishing an interactivecommunication link between the user computers that allows the users tocommunicate interactively; and synchronizing the display of at leastsome of the product data on all of the user computers.

These and other aspects of the invention are further description below.

BRIEF DESCRIPTION OF THE DRAWINGS

A preferred embodiment of the present invention will now be described indetail with reference to the drawings, in which:

FIG. 1 illustrates a system according to a first embodiment of thepresent invention;

FIG. 2 illustrates consumer client software and attendant clientsoftware forming part of the system of FIG. 1;

FIG. 3 is a flowchart illustrating a method of initiating the use of thesystem of FIG. 1;

FIG. 4 illustrates a pair of corresponding consumer and attendantdisplay windows during an exemplary use of the system of FIG. 1;

FIGS. 5 and 6 are flowcharts illustrating methods used to synchronizethe display of information on the consumer and attendant displaywindows;

FIG. 7 illustrates a system according to a second embodiment of theinvention; and

FIG. 8 illustrates a user display window during an exemplary use of thesystem of FIG. 7.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Reference is first made to FIG. 1, which illustrates a system 100 forproviding interactively providing information to consumers (not shown).System 100 includes a system server 102, one or more consumer computers104 and one or more attendant computers 106.

System 100 also includes a communication network 110, which may be theInternet, a local area network or any other communication networkcapable of facilitating communication between computing devices.

The system server 102 includes a server communication module 114 and aproduct database 116. Server communication module 114 is coupled to thenetwork 110.

Consumers use the consumer computers 104 to access system 100. Eachconsumer computer 104 includes one or more input devices 132. Forexample, consumer computer 104a includes a keyboard 134, mouse 136 and amicrophone 138. Consumer computer 104b includes a keyboard 134 and amouse 136. Each consumer computer 104 also includes one or more outputdevices 140. For example, consumer computers 104 a and 104 b include adisplay screen 142 and a speaker 144.

Each attendant computer 106 also includes input devices 132 including akeyboard 134, mouse 136 and a microphone 138. Each attendant computer106 also includes output devices including a display screen 142 and aspeaker 144.

Referring to FIG. 2, each consumer computer 104 is used to executeconsumer client software 150. Consumer client software 150 includes aconsumer media module 152 and a consumer communication module 154.Consumer communication module 154 is coupled to the network 110.

Each attendant computer 106 is used to execute attendant client software160. Attendant client software 160 includes an attendant media module162 and an attendant communication module 164. Attendant communicationmodule 164 is coupled to the network 110.

Referring to FIG. 1, system 100 is operated by or on behalf of a productsupplier (not shown), who may be a product manufacturer, wholesaler,retailer or other person or company that has an interest in the sales ormarketing of products.

Consumers (not shown) access system 100 by using the consumer computers104, which may be the consumer's own personal computers, may be locatedin retail stores or may be another computing device, such as atelevision set-top box, a portable personal data assistant or anothertype of computer. Typically, a consumer will access system 100 to obtaininformation about a product. The consumer may use system 100 in advanceof a potential purchase to learn about the product, while purchasing aproduct or after purchasing the product to obtain assistance whenassembling or using the product.

The attendant computers are operated by attendants (not shown). Theattendants communicate interactively with consumers using system 100 toprovide information to consumers about the supplier's products.

A consumer requests access to system 100 to obtain more informationabout a product. In response to the request, the consumer's computer 104is coupled to server 102 (which may also be a world-wide-web server thathosts the supplier's website), which in turn allocates and couples anattendant computer 106 to the consumer's computer 104. The consumer andthe attendant operating the allocated attendant computer engage in atext or voice chat and the attendant is able to provide the consumerwith information in response to the consumer's requests. The consumer isthus able to obtain customized information that may otherwise not beavailable to the consumer, or which may not be available on aconvenient, timely basis.

Reference is next made to FIG. 3, which illustrates a method 1100 thatallows a consumer to request information about a product using system100 and which couples the consumer's computer 104 to an attendantcomputer 106, establishing an interactive information session betweenthem.

Method 1100 begins in step 1102, in which the consumer makes a requestto interactively obtain information about a product. Typically, theconsumer will make this request while using the consumer computer 104 toview information about a product on the supplier's website. Productinformation on websites is limited to previously prepared informationsuch as text, audio and two or three dimensional images that arepre-determined by the supplier. Such pre-determined, previously recordedinformation is referred to herein as pre-recorded information. Thepre-recorded information may include animations that demonstrate how aproduct can be assembled or used. However, such websites cannot providedynamically generated, interactive and customized information that isprovided to the consumer in response to the consumer's request. Toprovide dynamic additional information, the supplier may use the presentinvention.

The supplier may configure a button or other control on a web page toallow the consumer to initiate use of system 100. For example, theconsumer may click on a button marked “Obtain interactive multi-mediainformation about this product” on a web page relating to the product tointeractively obtain information about the product. When the consumerdoes so, the button or control is configured to transmit an InitiateInteractive Information Service message 210 (FIG. 1) from the consumer'scomputer 104 to the system server 102. The Initiate InteractiveInformation Service includes the following information:

-   -   (a) A reference to the consumer's computer 104. This may be an        IP address or any other information that the system server 102        can use to transmit information to the consumer computer 104.        Method 1100 will be explained with reference to consumer        computer 104 a.    -   (b) A reference to the product for which the consumer has        requested additional information.

The use of a button on a web page to initiate the use of system 100 isonly an example, and step 1102 may include the use of any mechanism thatallows a consumer to initiate the use of system 100. For example, system100 may be initiated automatically when a consumer accesses a web pageby accessing a specific URL, by entering a keyboard command, a voicecommand or any other mechanism for transmitting the Initiate InteractiveInformation Service message 210 to the system server 102. Access tosystem 100 may be restricted and a consumer may be required to enter auser or account identification and a password.

Method 1100 then proceeds to step 1104, in which the system server 102initiates execution of client software on the consumer computer 104 andon an attendant computer 106.

The server computer transmits an Initiate Consumer Session message 212(FIG. 1) to the consumer computer 104 a. In response to the InitiateConsumer Session message 212, the consumer client software 150 opens adisplay window 170 (FIG. 4) on the consumer computer 104 a. In thepresent embodiment, the consumer client software 150 may be configuredto operate within a browser such as Internet Explorer™, Safari™ orNetscape™ Browser. In this case, the browser may initiate the executionof the consumer client software 150 in response to the Initiate ConsumerSession message 212. The consumer client software 150 opens the displaywindow 170 as a browser window. In another embodiment of the presentinvention, the consumer client software 150 may operate independently ofa browser and may open a display window 170 directly within theoperating system of consumer computer 104 a.

In step 1104, the system server 102 allocates an attendant computer 106that can be linked to consumer computer 104 a. Typically, a group ofattendants will operate a group of attendant computers 106. Systemserver 102 selects one of the attendant computers 106 that is notalready linked to another consumer computer 104. For the purpose of thepresent example, the server allocates attendant computer 106 b to becoupled to consumer computer 104 a. The server computer 102 alsotransmits an Initiate Attendant Session message 214 (FIG. 1) to theattendant computer 106 b. A display window 190 (FIG. 4) is opened on theattendant computer 106 b in a manner similar to the opening of thedisplay window 170 on the consumer computer 104 a. The attendant clientsoftware 160 may operate within a browser or directly in the operatingsystem of attendant computer 106 b.

Method 1100 then proceeds to step 1106, in which at least oneinteractive communication link is established between consumer computer104 a and attendant computer 106 b.

An interactive audio communication link may be established between theconsumer computer 104 a and the attendant computer 106 b to permit voicecommunication between the attendant and the consumer. The servercomputer 102 acts as an intermediary in the interactive audiocommunication link. Audio data from the consumer computer 104 a is firsttransmitted to the system server 102, which then transmits the audiodata (or corresponding audio data) to the attendant computer 106 b. Theaudio data is then played at the attendant computer 106 b. Similarly,audio data from the attendant computer originating from the attendantcomputer 106 b is transmitted to the system server 102, which thentransmits the audio data to the consumer computer 104 a and then playedat the consumer computer 104 a. This allows the consumer and attendantto speak to one another. For example, the audio communications link maybe established using Voice over Internet Protocol (“VoIP”), which iswell understood by skilled persons, or using any other mechanism ortechnology for establishing a two-way voice chat connection between theconsumer computer 104 a and the attendant computer 106 b.

As an alternative to an audio communication link, or in addition to anaudio communication link, an interactive text communication link may beestablished between the consumer computer 104 a and the attendantcomputer 106 b, with the system server 102 acting as an intermediary. Atext communication link allows the consumer and the attendant to engagein a text chat.

In the present embodiment, the system server 102 is an intermediary inthe interactive communication link. As a result, the system server 102may optionally record the voice or text data exchanged between theattendant and the consumer.

In another embodiment, the system server 102 may instruct the consumercomputer 104 a and the attendant computer 106 b to establish aninteractive communication link directly between them. If the systemserver 102 does not have access to the audio or text informationexchanged between the consumer computer 104 a and the attendant computer106 b, the system server 102 will not be able to record thisinformation.

In the present exemplary system 100, an interactive audio communicationlink is established if possible. In the present embodiment, all of theattendant computers 106 are equipped with a microphone and a speaker(which may be integrated into a headset worn by an attendant using theattendant computer) to allow the attendants to participate in a voicechat over the interactive audio communication link. If the consumercomputer 104 a is capable of participating in a voice chat with theallocated attendant computer 106 b, then an interactive audiocommunication link is established. Otherwise an interactive textcommunication link is established between the consumer computer 104 aand the attendant computer 106 b. In other embodiments, both interactiveaudio and text communication links may be established.

In other embodiments, some or all of the attendant computers 106 may notbe configured for interactive voice communication. In this case, aninteractive text communication link is created between the consumercomputer 104 a and the attendant computer 106 b.

The consumer media module 152 and the consumer communication module 154cooperate to facilitate text or voice chat connections. The consumermedia module 152 includes software that is capable of capturing audio atthe consumer computer 104 and of playing audio received from the systemserver 102. Similarly, the consumer media module is capable of capturingtext entered by the consumer at the consumer computer 104 and ofdisplaying text information received from the system server 102. Thecaptured audio and text information is transmitted to the system server102 by the consumer communication module 154, which receives theinformation from the consumer media module. Text and audio informationfrom the system server 102 is received by the consumer communicationmodule 154, which then provides this information to the consumer mediamodule 152 to be played or displayed. The consumer media module 152 andconsumer communication module may be distinct software products thatcommunicate with one another through an interface or they may becombined in an integrated software product.

Method 1100 next proceeds to step 1108, in which the server sendsproduct data (FIG. 1) relating to the product identified in the InitiateInteractive Information Session message 210 to consumer computer 104 aand the attendant computer 106 b. In the present embodiment, the productdata 216 includes at least one 3D image of the product. The product data216 may also include other types of information about the product, suchas 2D images, video clips, audio clips, text information or animations.In other embodiments of the invention, the product data 216 may or maynot include a 3D image of the product.

The product data is stored in the product database 114 in system server102 and is recorded in a format that is compatible with the componentsof the consumer and attendant media modules.

The system server 102 transmits the product data 216 including one ormore 3D graphic images of the product identified in the InitiateInteractive Information Session message 210 in step 1102 to the consumercommunication module 154, which makes in available to the consumer mediamodule 152 for display and playback. The system server 102 alsotransmits the product data to the attendant communication module 164,which makes the product data 216 available to the attendant media module162.

The consumer media module 152 includes media display software capable ofdisplaying or playing the various types of information included in theproduct data 216. In the present example, the consumer media module 152includes software capable of displaying a 3D graphic image in theconsumer's display window 170. The 3D graphic display software iscapable of displaying the 3D image from different viewpoints or camerapositions, allowing the 3D graphic image to be rotated and the zoomdistance from the 3D image to be changed. In other embodiments, the 3Dgraphic display software may not be capable of displaying the 3D graphicimage from different zoom distances.

In the present embodiment, the 3D graphic display software is theViewpoint Platform™, which is provided by Viewpoint Corporation of NewYork, USA. In other embodiments, any system capable of displaying 3Dgraphic images and allowing them to be displayed from different cameraangles may be used. For example, QuickTime Virtual Reality (QuickTimeVR™), Macromedia Shockwave™, U3D, X3D and other technologies may be usedfor this purpose. If the display window 170 operates is a browserwindow, the 3D graphic display software may be a plug-in componentinstalled with the browser software.

In the present embodiment, the consumer media module also includessoftware capable of displaying 2D images, text information and playingvideo clips, audio clips and animations. Some of this software may beused to provide the voice or text chat functionality described above. Inother embodiments, the software included in the consumer media modulewill correspond to the different types of information that the productsupplier wishes to include in the product data 216.

The attendant media module 162 and the attendant communication module164 are similar to the consumer media module 152 and consumercommunication module in operation. The attendant media module 162included in the attendant client software 160 is capable of displaying3D graphic images from different camera angles and optionally, fromdifferent zoom distances. Preferably, the 3D graphic display software inthe client media module 152 and the attendant media module 162 utilizethe same technology. In the present exemplary embodiment, the attendantmedia module 162 also includes the Viewpoint Platform 3D graphic displaysoftware.

The product data 216 may also optionally include information aboutoptional features of the product, such as different color options,additional components that may be purchased and used with the product.For example, if the product is a desk, the product data 216 may includeinformation about different color schemes that the desk is manufacturedin, add-on components such as a sliding keyboard drawer, a computerholder or related products such as matching chairs, shelves or filingcabinets. The product data 216 may also optionally include pre-recordeddata such video, animations, audio or text information related to theproduct that describe the assembly or use of the product or areotherwise related to the product. In addition to the consumer mediamodule 152 that is used to display the 3D graphic images included in theproduct data 216, the consumer client software also includes componentsthat are capable of displaying or otherwise playing (in the case ofaudio data) other product data transmitted to the consumer computer. Ifthe display window 170 operates within a browser these additionalcomponents may also be plug-in components installed with the browsersoftware. If the consumer client software 150 does not include acomponent required to play a part of the product data, the consumerclient software may optionally be configured to download the requiredcomponent. Otherwise, that part of the product data may not be availableto the consumer.

Method 1100 then ends.

Reference is next made to FIG. 4, which displays an example displaywindow 170 on the display screen 142 a of consumer computer 104 a and acorresponding example display window 190 b on the display screen 142 bof an attendant computer 106 b when an interactive information sessionis in progress between a consumer and an attendant.

Display window 170 includes session controls 172, a graphics display174, graphics display controls 176, a text chat display 178, voice chatcontrols 180, product option controls 182 and pre-recorded informationcontrols.

The session controls 172 provide an “End Interactive InformationSession” button to terminate the interactive information session. If theconsumer clicks this button, the interactive information session isterminated and the display window 170 is closed.

The graphics display 174 contains an image of an example product, acomputer desk. The graphics display 174 has a pointer 186 on it, whichcan be used to indicate specific parts of the image displayed on thegraphics display 174 and may also be used to change the camera positionfrom which the product is displayed.

The graphics display controls 176 allow the consumer to change thecamera position from which the product is displayed in the graphicsdisplay 174. In this exemplary embodiment, the graphics display controls176 include a rotate up, rotate down, rotate left, rotate right, returnto original position, zoom in and zoom out controls. In this exemplaryembodiment, the camera position may also be changed using a mouse beclicking and dragging on the product display. This functionality isprovided using the Viewpoint Platform, and could be provided using othertechnologies, as described above. This operation is not furtherexplained here as a skilled person will be capable of configuring andusing these 3D image display and manipulation tools.

The text chat display 178 contains interactive text that has been typedby the consumer and the attendant during the interactive informationsession.

The voice chat controls 180 allow the speaker volume and other aspectsof the voice chat to be controlled by the consumer.

The product option controls 182 allow the product to be displayed indifferent forms or modes. In the present example, the computer desk maybe displayed with a sliding keyboard tray or a computer holder or anycombination of these or none of them. The supplier may sell thesecomponents separately and use system 100 to advertise them to consumerswho may or who have purchased the computer desk. The desk may also bedisplayed in three color schemes: black/brown; black/white andbrown/white. When a consumer chooses any one of the options or colorschemes, the image of the product in the graphics display 174 is changedto match the consumer's choices. Data for each of the options and colorschemes is included in the product data 216 delivered to the consumercomputer 104 a in step 1108.

The pre-recorded information controls 184 allow the consumer to play thepre-recorded information included in the product data 216. The specificformat and titles of the pre-recorded information is included in theproduct data 216. In the present example, the pre-recorded informationincludes eight animations illustrating six assembly steps for the deskand the installation of the keyboard tray and the computer holder. Eachanimation is accompanied by audio information in which each assemblystep is further explained. This information may be used to supplementinformation provided with the product. The pre-recorded informationcontrols include an animation audio mute button, allowing the audioaccompanying the animations to be muted so that the consumer andattendant may continue a voice chat uninterrupted while an animation isplayed.

Similarly, the attendant display 190 includes session controls 192, agraphics display 194, graphics display controls 196, a text chat display198, voice chat control 200 and product option controls 202.

The display and operation of the components of the attendant displaywindow 190 is similar to the display of the corresponding components ofthe consumer window 170. The session controls 192 include one additional“Controller” option, which is explained further below.

During an interactive information session, the displays in the consumerdisplay window 170 and the attendant display window 190 are generallysynchronized. One of the consumer or the attendant is in control of thedisplay and any changes made by the person in control (the “controller”of the interactive information session) to the display of the product onthe graphics display is generally duplicated in the display of the otherperson (the “viewer) of the interactive information session). Similarly,if the controller activates any previously recorded information, thesame previously recorded information is displayed in the viewer'sdisplay window. Typically, animations and video clips will be played inthe graphics windows 174 and 194. The consumer and attendant mayindependently control their own input and output devices (for example,speaker volumes, speaker mute or microphone mute). The interactivecommunication links (voice chat or text chat or both) are not affectedby which person is in control.

The “Controller” option in the attendant's session controls 192 allowsthe attendant to determine whether the consumer or the attendant will bein control the image of the product in the graphics display windows 174and 194 and the display or playing of pre-recorded information on boththe consumer computer 104 a and the attendant computer 106 b.

Reference is next made to FIG. 5 and 6, which illustrate methods 1200and 1300 that are used keep a 3D image shown in the graphics displays174 and 194 synchronized between the consumer display window 170 and theattendant display window 190. As described above, the attendantdetermines whether the consumer or the attendant is in control of theproduct display in the graphics displays 174 and 194 and the playing ofpre-recorded information. Method 1200 is performed on the controller'scomputer (the “controlling computer”). Method 1300 is performed on thesystem server 102 and the viewer's computer (the “viewing computer”).

Method 1200 begins in step 1202, in which the controller manipulates theproduct image in the graphics display on the controller's displaywindow. Typically, the controller will do so by using the graphicsdisplay controls or by using the controller's mouse. When the controllerhas completed the manipulation of the product image, or periodicallyfollowing an “update period” during the manipulation of the productimage, method 1200 proceeds to step 1204. The update period willtypically be in the range of 250 to 1000 ms, although the time periodmay be shorter or longer than this range. The controller may continue tomanipulate the product image while the remaining steps of method 1200are performed.

In step 1204, the current camera position is determined. The currentcamera position may be expressed using any coordinate system. Forexample, the camera position may be defined using polar coordinatesrelative to reference horizontal and vertical planes defined withrespect to the 3D product image and using an orbit distance (whichcorresponds to the zoom level). The camera position may alternatively bedefined using Cartesian coordinates relative to a reference position.The product data in either case defines the reference planes or positionrelative to the 3D product image. In some embodiments, the cameraposition information may include a camera translation that indicates thedirection in which the camera is pointed relative to the referenceplanes or the reference point. A skilled person will be able tocalculate a camera position during or following an image manipulation bythe controller. The camera position is then transmitted to the systemserver 102 in a Camera Position Update message.

In the present embodiment, the operation of determining the cameraposition is performed by the 3D graphic display software in the mediamodule in the controller's client software. This information istransmitted to the system server 102 by the communication module.

Method 1200 then returns to step 1202.

Method 1300 begins in step 1302, in which the system server 102 receivesthe Camera Position Update message from the controller's computer. Thesystem server records the camera position.

Method 1300 next proceeds to step 1304 in which the system server 102transmits a copy or a version of the Camera Position Update message tothe viewer's computer.

Method 1300 next proceeds to step 1306. In step 1306, the communicationmodule in the viewer's client software receives the Camera PositionUpdate message from the system server 102 and extracts the new cameraposition from it. The new camera position is passed to the 3D graphicdisplay software in the media module of the viewer's client software.The 3D graphic display software calculates an animation of the 3D imagefrom the current camera position in the viewer's display to the newcamera position. If the new camera position was calculated during amanipulation of the 3D image by the controller on the controller'sdisplay window 170, then the Camera Position Update message mayoptionally indicate this. If so, the animation may be calculated to bedisplayed over the update period. The 3D graphic display software thendisplays the calculated animation. The viewer's 3D image is thusanimated in a manner that generally corresponds to the manipulation ofthe image by the controller. The animation will not generally beidentical to the manipulation of the image by the controller.

Each Camera Position Update message is a comparatively lightweightmessage. By generating an animation at the viewing computer in responseto the Camera Position Update message, the display of the 3D image onthe controlling and the viewing computer is generally synchronized bysending the camera position. The viewer's client software is able togenerate a corresponding animation since it has the previous cameraposition, the new camera position and the same 3D image as thecontroller's client software. This provides an efficient mechanism forsynchronizing the displays without transmitting comparatively lengthygraphic image data.

As noted above, a Camera Position Update message may contain someindication of the time over which an animation from the previous cameraposition to the new camera position should be displayed. In some cases,the new camera position should be displayed immediately, without anyanimation between the previous and new camera positions. For example, ifthe controller uses the rotate left button in the graphics displaycontrols 176, the graphic image on the controller graphics display 174may be rotated to the left by some selected amount to a new cameraposition. The rotation may be smoothly animated or it may be immediatelydisplayed with no animation. A Camera Position Update message istransmitted to reflect the new camera position. The Camera PositionUpdate message may include an indication as to whether the transitionfrom the previous camera position to the new camera position should beanimated or not when the manipulation is displayed on the viewer'sgraphic display 194.

Method 1300 then ends. Method 1300 is performed each time a CameraPosition Update message is received by the system server 102 from thecontroller's computer.

Since method step 1204 in method 1200 is performed at the end of anymanipulation of the 3D image by the controller, when the manipulation iscompleted, the images on the controller's and viewer's graphics displays174 and 194 will be synchronized (unless the controller has begunanother manipulation). If the controller performs a manipulation thatlasts longer than the update period, the viewer's graphics display isupdated periodically, allowing the controller's and viewer's graphicsdisplays 174 and 194 to stay generally synchronized. A skilled personwill understand that the length of the update period and communicationdelays will introduce some latency between the controller manipulatingthe 3D product image on his own graphics display and a correspondingmanipulation being displayed on the viewer's graphics display. If ashorter update period is selected, the display of the 3D image on thecontrolling and the viewing computers will be more synchronized. If alonger update period is selected, the display will be less synchronized,but fewer Camera Position Update messages will be transmitted from thecontrolling computer to the viewing computer (although this may not beproblematic since the Camera Position Update message are short,lightweight messages). In any case, when the controller has finished amanipulation, a Camera Position Update message is transmitted and thetwo displays are synchronized.

While methods 1200 and 1300 are being performed, the consumer andattendant may continuously use the text or voice (or both) interactivecommunication links established between their respective computers. Theconsumer may request information and the attendant may provide therequested information. The consumer and the attendant may manipulate the3D image of the product to highlight and identify specific componentsand aspects of the product.

The Camera Position Update message is one type of Update Message thatmay be transmitted from the controlling computer to the system server102 and then relayed from the system server 102 to the viewing computer.

The nature of Update Messages transmitted from the controlling computerto the server, and from the server to the viewing computer will dependon the nature of the object that is being manipulated. As describedabove, a Camera Position Update message relating to the manipulation ofa 3D image may define the manipulation in polar, Cartesian or othercoordinates. If a 2D image is displayed in the controller's displaywindow 170, a Camera Position Update message describing a manipulationof the image may set out an x dimension translation a y dimensiontranslation from the original position of the image when it was loaded,together with a zoom level for the image. The zoom levels for the x andy dimension may be differently controllable and the Camera UpdateMessage can describe the different zoom levels separately.

Referring to FIG. 4; a pointer 186 on the consumer's display window 170and a corresponding pointer 206 is displayed on the attendant's displaywindow 190. The controller may move the pointer by moving a mouse 136coupled to the controlling computer. When the pointer is moved, aPointer Position Update message, which is another type of UpdateMessage, is transmitted from the controlling computer to the systemserver 102. The Pointer Position -Update message is relayed by thesystem server 102 to the viewing computer. As the controller moves thepointer, the position of the pointer may be transmitted periodically ina series of Pointer Position Update messages in a manner analogous tothe transmission of a series of Camera Position Update messages, asdescribed above in relation to method 1200. On the viewing computer, theposition of the 102 is updated to correspond to the new position of thepointer on the controlling computer. The movement of the pointer may beanimated, as described above in relation to the 3D image.

The playing of pre-recorded information is also synchronized on thecontrolling and viewing computers. If the controller initiates the playof any pre-recorded information, a Play Pre-Recorded Information message(which another type of Update Message) is transmitted from thecontrolling computer to the system server 102 and then relayed from thesystem server 102 to the viewing computer. The same pre-recordedinformation is then played on the viewing computer. In some embodimentsof the present invention, the pre-recorded information controls 184 mayinclude controls to allow the pre-recorded information to be paused,reversed or played in a fast forward mode. If the controller uses suchcontrols to manipulate the playing of the pre-recorded information, aPlay Pre-Recorded Information message is transmitted from thecontrolling computer to indicate the manipulation. A Play Pre-RecordedInformation may include information such as the playback rate (forexample, reverse half speed or forward double speed) or a video framenumber or a time point in a clip or audio block number at which theplayback of the pre-recorded information has been paused. The clientsoftware on the viewing computer is responsive to the Play Pre-RecordedInformation messages to initiate and manipulate the playing ofpre-recorded information so that the playing of the pre-recordedinformation on the controlling and viewing computers is generallysynchronized. The Play Pre-Recorded Information message is a lightweightmessage compared to typical pre-recorded video, audio or textinformation. Depending on the nature of the pre-recorded information, aPlay Pre-Recorded Information message may include other synchronizationinformation. For example, a frame rate or data rate may be specified toensure that the playback of the pre-recorded information proceeds atgenerally the same rate on both the controlling and viewing computers.This is not necessary for information that is played at a pre-determinedrate regardless of the processor speed or other characteristics of thecontrolling or viewing computers. For example, this type of control willtypically not be required for a video clip that has a standard playbackrate. The playing of the pre-recorded information on the controlling andviewing computers is thus controlled and synchronized efficiently,without requiring any audio, video or text data comprising thepre-recorded information to be exchanged between the controlling andyiewing computers while the pre-recorded information is played.

Video information may be played in the graphics display 174 or 194.While the prerecorded information is played, the controller maymanipulate the pointer 186 or 206 to direct the viewer's attention tospecific aspects of the displayed information. The pointer will also begenerally synchronized in the display windows on the controlling andviewing computers. At the same time, the controller and the viewer mayengage in an interactive voice or text communication or both.

System 100 provides a multi-media environment in which an attendant isable to more effectively provide information to a supplier's customerscompared to current voice-only or text-only help desk assistanceprovided by many product suppliers. System 100 allows the attendant toprovide customized information to the consumer in real-time, rather thanlimiting a consumer to previously recorded information available on awebsite.

Referring to FIG. 1, in system 100, the system server 102 transmitsproduct data to both a consumer computer 104 and to an attendantcomputer 106. The product data is used during the InteractiveInformation Session. In another embodiment, the consumer or theattendant may add additional product data for a product during anInteractive Information Session. For example, display window 170 mayinclude an “Upload Product Data” button. The consumer can click thebutton to initiate to open a dialog box allowing the consumer toidentify a new piece of product data, which is then uploaded to theserver 102. The server 102 then transmits the product data to theattendant computer 104. The controller of the session may then displaythe new product data in the controller's display window. This triggersan Update Message that results in the new product data also beingdisplayed in the viewer's display window. The controller may thenmanipulate the new product data, or may discuss it with the viewer usingthe voice chat or text chat communication link between the twocomputers.

For example, a consumer may take a digital picture of a product as theconsumer has assembled it. The consumer may upload the picture to thesystem server, which then transmits the picture to the attendantcomputer. The controller of the session may then display the picture inthe graphics window of the controller's display window. Both thecontroller and the viewer will see the picture and they may discuss it.The controller may also manipulate the picture in the same way as anyother picture in the product data.

Reference is next made to FIG. 7, which illustrates a system 300according to a second embodiment of the present invention. System 300may be used for interactive product design by two or more users. System300 includes a system server 302 and two or more user computers 304.

The system server 302 includes a server communication module 314 and aproduct database 316, which is used to record product data. The systemserver 302 manages the creation and operation of an interactive andcollaborative product design session.

Each user computer includes one or more input devices 132 and one ormore output devices 140. Each user computer 304 is used to execute userclient software 350 that comprises a user media module 352 and a usercommunication module 354. The structure and operation of the user mediamodule 352 corresponds to that of the consumer media module 152described above in relation to system 100. Similarly, the structure andoperation of user communication module 354 corresponds to that of theconsumer communication module 154 described above. During a productdesign session, two or more users operate user computers 304 to view andmodify a product that is under design.

Users join a product design session by logging into a product designwebsite operated by the system server 302 or another computer system.Once a user has logged in, the user may join a product design session.Typically, a user will be invited to join the product design session bythe product supplier at an appointed time. When the user logs in, thesessions to which the user has been invited may be listed and the usercan select one of them. If the user has been invited to join only onesession when he logs in, the user may be immediately joined to theproduct design session.

In another embodiment, a user's invitation to join a session may includea link directly to the session. For example, the user may receive ane-mail containing a URL (which may be in the form of an http link) for aparticular session. When the user accesses the URL, the user ispresented with a login page and after successfully logging in, the useris taken directly to the session, without having to identify the sessionspecifically. In some embodiments, a user may be invited to join anongoing session and may be sent an e-mail message with an embedded URLto the session by one of the participants in the session.

Returning to a description of system 300, when a user joins a productdesign session, a display window 370 is opened on the user's computer304. This is done in a manner analogous to that described above inrelation to system 100 and display windows 170 and 190. The systemserver 302 maintains a record of each user that is part of a productdesign session. The system server 302 instructs the communication module354 operating on each user computer 304 to join an interactivecommunications connection, which may be a voice chat connection or atext chat connection. In some embodiments of the invention, both voicechat and text chat connections may be established.

Reference is made to FIG. 8, which illustrates a typical display window370 on a user computer 304 when system 300 is in use. The display window370 includes session controls 372, a graphics display 374, graphicsdisplay controls 376, a text chat display 378, voice chat controls 380,product option controls 382 and product design controls 384 and viewcontrols 386.

The session controls 372 include “Control” and “View” radio buttons and“Leave Session” button. As described above in relation to the system100, one of the participants in an Interactive Information Session canbe in control of the 3D image displayed in the graphics display 374 andother aspects of the session at one time. In system 100, the attendantdecides whether the consumer or the attendant is in control at any time.In system 300, two or more users may collaborate in a product designsession. Any one of the users may take control of the product designsession by clicking on the Control radio button. When a user does so,the user communication module 354 in the user's client software 350transmits a “Taking Control” message to the system server 302. That userthen becomes the controller of the product design session. The systemserver 302 then transmits a “Release Control” message to the usercommunication module 354 operating on the user computer that previouslyhad control of the product design session. Each of those users becomes(or remains) a viewer. The user that has taken control may then modifythe design of the product and may manipulate the view of the product inthe graphics display 374.

In the display window 370, an example product, a shoe, is shown.Typically, a product supplier will define one or more parts or aspectsof the product that can be modified by the user in a product designsession. In the present example, the supplier has defined the tongue,laces and several panels of shoe's uppers and the sole of the shoe asparts that can be modified independently of one another.

In this example, the product design controls 384 are a group of buttonsindicating different colors that could be used for different parts ofthe shoe. The user in control of the product design session may selectone of the parts by moving the pointer 386 on to the part and clicking amouse button. The user may then select a color for the part by selectingone of the product design controls. When a user does so, the user'scommunication module 354 sends a Change Design message to the systemserver 302, detailing the change that has been made. The Change Designmessage is a type of Update Message. The system server then sends aChange Design message to the other user's computers 304 and thecommunication module 354 and media module 352 on the other user'scomputers 304 update the display of the product to correspond to thedesign change.

In the present embodiment, the supplier has also permitted some physicaldesign changes to be made to the displayed shoe. In particular, the userin control of the product design session may choose different lace types(flat or round), different ankle heights (Low, Medium or High) anddifferent widths for the shoe (A, B, D, E, 2E or 3E). When the userchanges one of these aspects of the shoe, the display is modified toillustrate the change and a Change Design message is similarly sent tothe system server 302 and propagated to the other user computers 304.

When the user in control of the session manipulates the display of theproduct by changing the camera position, the manipulation is alsoreported to the system server 302 in a Camera Position Update messageand propagated to the other user computers 304 in a manner analogous tothat described above in relation to methods 1200 and 1300. In system300, all user computers 304 that are in the view mode receive a CameraPosition Update message or a Change Design message whenever such amessage is sent from the controlling computer 304. This ensures that allof the users participating in the product design session see the productas its design evolves.

In the present embodiment, the system server keeps a record of eachUpdate Message, including each Camera Position Update or Change Designmessage, that is sent to it. If a user joins a product design sessionafter it has already begun, the server can update the additional user'sdisplay window 370 by transmitting some or all of the Change Designmessages and at least the most recent Camera Position Update message.Similarly, if a user becomes disconnected and must re-join a productdesign session, the user's display window 370 can be updated.

Simultaneously with viewing the product in its current position anddesign, the users participating in a product design session may usetheir voice chat connection or text chat connection to discuss andcollaborate on the design. In the present embodiment, all usersparticipating in a product design session can hear the voice of allother users or read text entered by all other users. In anotherembodiment of the invention, a user may be allowed to select whetherthey wish to hear the voice or read the text messages of other specificusers. Users may also be permitted to control which other users can heartheir own voice or see their text messages.

View controls 386 are used to store views of the product and to displaypreviously stored views. The user in control of a product design sessionmay click on the Store View button. The user's communications module 354sends a Store Current View message to the system server 302, whichstores the current view of the based on the Camera Position Updatemessages and Change Design messages that it has received. The systemserver 302 also selects a name for the view and transmits a New Viewmessage to each of the user computers 304 participating in the productdesign session, including the user computer 304 that sent the StoreCurrent View message. The New View message includes the current cameraposition and the current design of the product at the time of the view.The new view is not displayed in the display window 370, but the name ofthe view is added to the list of stored views in the views controls 386.Subsequently, the user in control of a session can select one of theseviews to be displayed. A Display Stored View message is sent to thesystem server and propagated to all of the other user computers 304 andthe stored view is displayed in the display window 370 on all of theuser computers 304. The users may thus store different views and quicklyswitch to the different views to compare different designs of theproduct. Since each view is stored by reference to a camera position,the controlling user may then manipulate the 3D image beginning from theposition of the view once it is displayed.

View controls 386 may be provided in another embodiment of system 100 toprovide view storing and retrieval functionality in that embodiment.

In another embodiments of the present invention, the controller of aproduct design session may be able to add graphic or text annotations(or both) to the image displayed in the display window 370. For example,such annotations may be two-dimensional images overlaid on the 3D imagein the graphics display 374. When such annotations or graphics are addedto an image, an Update Message is used to cause annotation or graphic tobe displayed on the user computers participating in a product designsession. When a view is stored, the annotation is stored as part of theview and when the view is subsequently displayed, the annotation is alsodisplayed.

In another embodiment of system 300, the product data may also includepre-recorded information and such information may be displayed on all ofthe user's display windows, under the control of the controlling user,as described above in relation to system 100 through the use ofdifferent Update Messages.

As noted above, the system server 302 records all Update Messages,including all Camera Position Update and Change Design messages sent toit. The system server 302 also records all views that are stored duringa session. This information may be retained after a product designsession ends to allow the session to be continued or to allow thedifferent designs considered during a session to be reviewedsubsequently. The recorded information may also be used to re-create thesession and in effect serve as a recording of the session. Voice andtext chat data may also be stored and may be replayed to recreate theproduct design session in whole or in part. A previously recordedsession may be replayed as part of a subsequent product design sessionand two or more users may continue to collaborate on the design of aproduct, effectively continuing the previously recorded session.

The users may add additional product information during a product designsession by uploading additional product data to the server 302, as wasdescribed above. The new product data is distributed to all of the usercomputer's participating in the product design session and thecontroller may display or otherwise use the new product data.

System 300 may also be used for interactive product demonstrations inwhich one of the users demonstrates a product to one or more otherusers. The user conducting the demonstration may maintain control overthe session and may manipulate a 3D image, 2D image or use pre-recordedinformation to provide information to the other users, while the userparticipate in an interactive voice or text chat.

The present invention has been described here by way of example only.The features of the various embodiments may be combined to formadditional embodiments of the invention. In addition, variousmodification and variations may be made to these exemplary embodimentswithout departing from the spirit and scope of the invention, which islimited only by the appended claims.

1. A method for providing interactive product information to a consumercomprising: (a) storing product data relating to the product in aproduct database; (b) transmitting the product data to a consumercomputer operated by the consumer, wherein at least some of the productdata is displayed on the consumer computer by consumer client software;(c) transmitting the product data to an attendant computer operated byan attendant, wherein at least some of the product data is displayed onthe attendant computer by attendant client software, the product datadisplayed on the attendant computer corresponding to the product datadisplayed on the consumer computer; (d) establishing an interactivecommunication link between the consumer computer and the attendantcomputer for allowing the consumer and the attendant to communicateinteractively; and (e) synchronizing the display of at least some of theproduct data on the consumer computer with the display of correspondingproduct data on the attendant computer.
 2. The method of claim 1 whereinthe product data includes initial display instructions for defining howthe product data is to displayed when initially transmitted to aconsumer computer or to an attendant computer.
 3. The method of claim 1wherein one of the attendant computer or the consumer computer isdesignated as a controlling computer and the other one of the attendantcomputer and the consumer computer is designated as a viewing computerand wherein the display of the product data may be manipulated on thecontrolling computer by the attendant or the consumer.
 4. The method ofclaim 3 including permitting the attendant to select which of theattendant computer or the consumer computer is designated as thecontrolling computer.
 5. The method of claim 3 including permitting theconsumer to designate the consumer computer as the controlling computer.6. The method of claim 3 including permitting the attendant to designatethe consumer computer as the controlling computer.
 7. The method ofclaim 3 wherein (e) includes transmitting a series of Update Messagesfrom the controlling computer to a system server and transmitting acorresponding series of Update Messages from the system server to theviewing computer.
 8. The method of claim 7 wherein at least some of theUpdate Messages are Camera Position Update messages that describe amanipulation of a display of an image on the controlling computer andwherein the viewing computer is configured to change a display of theimage on the viewing computer to correspond to the display of the imageon the controlling computer.
 9. The method of claim 7 wherein theproduct data includes pre-recorded information and wherein at least someof the Update Messages are Play Pre-Recorded Information messages. 10.The method of claim 7 wherein the product data includes informationrelating to alternative product configurations and wherein at least someof the Update Messages are Change Design messages.
 11. The method ofclaim 7 wherein the product data includes information relating toalternative product configurations and wherein at least some of theUpdate Messages are Change Design messages.
 12. The method of claim 3wherein the product data includes an animation and wherein (e) includessynchronizing the display of the animation on the consumer computer andthe attendant computer.
 13. The method of claim 3 further comprisingreceiving a Store Current View message from the attendant or theconsumer and, in response to the Store Current View message, recordingview data related to the current display of the product data.
 14. Themethod of claim 13 further comprising transmitting a New View message tothe customer computer if the Store Current View message was receivedfrom the attendant computer, wherein the New View message includes theview data and an identifier for the view data.
 15. The method of claim14 further comprising receiving a Display Stored View message from thecontrolling computer, wherein the Display Stored View message includesthe identifier for the view data, and transmitting to the viewingcomputer a corresponding Display Stored View message.
 16. The method ofclaim 13 further comprising transmitting a New View message to theattendant computer if the Store Current View message was received fromthe consumer computer, wherein the New View message includes the viewdata and a name for the view data.
 17. The method of claim 16 furthercomprising receiving a Display Stored View message from the controllingcomputer, wherein the Display Stored View message includes theidentifier for the view data, and transmitting to the viewing computer acorresponding Display Stored View message.
 18. The method of claim 1wherein the two-way communication link is an audio communication link.19. The method of claim 1 wherein the two-way communication link is atext communication link.
 20. The method of claim 1 wherein the productdatabase is stored in a system server and wherein the product data istransmitted from the system server to the consumer computer and to theattendant computer.
 21. The method of claim 1 wherein the product datais transmitted to the consumer computer and the attendant computer inresponse to an Initiate Interactive Information Session message from theconsumer computer.
 22. The method of claim 1 wherein further comprising,before performing part (c), allocating the attendant computer from agroup of attendant computers.
 23. A method for an interactive productdesign session between two or more user computers, wherein each of theuser computers is operated by a user, the method comprising: (a) storingproduct data relating to a product in a product database; (b)transmitting the product data to each of the user computers, wherein atleast some of the product data is displayed on each user computer byuser client software; (d) establishing an interactive communication linkbetween the user computers to allow the users to communicateinteractively; and (e) synchronizing the display of at least some of theproduct data on all of the user computers.
 24. The method of claim 23wherein the product data includes initial display instructions fordefining how the product data is to displayed when initially transmittedto each of the user computers.
 25. The method of claim 23 wherein one ofthe user computers is designated as a controlling computer and theremaining user computers are designated as viewing computers and whereinthe display of the product data may be manipulated on the controllingcomputer.
 26. The method of claim 25 including permitting a user todesignate the user's computer as the controlling computer, wherein anycomputer previously designated as the controlling computer is thendesignated as a viewing computer.
 27. The method of claim 25 wherein (e)includes transmitting a series of Update Messages from the controllingcomputer to a system server and transmitting a corresponding series ofUpdate Messages from the system server to the viewing computer.
 28. Themethod of claim 27 wherein at least some of the Update Messages areCamera Position Update messages that describe a manipulation of adisplay of an image on the controlling computer and wherein the viewingcomputer is configured to change a display of the image on the viewingcomputer to correspond to the display of the image on the controllingcomputer.
 29. The method of claim 27 wherein the product data includespre-recorded information and wherein at least some of the UpdateMessages are Play Pre-Recorded Information messages.
 30. The method ofclaim 27 wherein the product data includes information relating toalternative product configurations and wherein at least some of theUpdate Messages are Change Design messages.
 31. The method of claim 27wherein the product data includes information relating to alternativeproduct configurations and wherein at least some of the Update Messagesare Change Design messages.
 32. The method of claim 27 wherein theproduct data includes information relating to alternative productconfigurations and wherein at least some of the Update Messages are 33.The method of claim 25 wherein the product data includes an animationand wherein (e) includes synchronizing the display of the animation onthe user computers.
 34. The method of claim 25 further comprisingreceiving a Store Current View message from a user computer, in responseto the Store Current View message, recording view data related to thecurrent display of the product data.
 35. The method of claim 34 furthercomprising transmitting a New View message to each of the user computersother than the user computer from which the Store Current View messagewas received, wherein the. New View message includes the view data andan identifier for the view data.
 36. The method of claim 35 furthercomprising receiving a Display Stored View message from the controllingcomputer, wherein the Display Stored View message includes theidentifier for the view data, and transmitting to the viewing computer acorresponding Display Stored View message.
 37. The method of claim 23wherein the two-way communication link is an audio communication link.38. The method of claim 23 wherein the two-way communication link is atext communication link.
 39. The method of claim 23 wherein the productdatabase is stored in a system server and wherein the product data istransmitted from the system server to the user computers.
 40. The methodof claim 23 wherein the product data is transmitted to the usercomputers in response to an Initiate Interactive Information Sessionmessage from the consumer computer.